package response

import "math"

type Page struct {
	Items     interface{} `json:"items"`      // 分页数据
	Page      int         `json:"page"`       // 页码
	PageSize  int         `json:"page_size"`  // 每页数量
	Total     int64       `json:"total"`      // 总数
	TotalPage int         `json:"total_page"` // 总分页
}

func NewPage(total int64, page int, pageSize int, items interface{}) Page {
	// fmt.Println(math.Ceil(3.2))   // 输出: 4
	// 计算总分页
	totalPage := math.Ceil(float64(total) / float64(pageSize))
	return Page{
		Items:     items,
		Page:      page,
		PageSize:  pageSize,
		Total:     total,
		TotalPage: int(totalPage),
	}
}
